<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title>登录</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="format-detection" content="telephone=no">
    <meta name="renderer" content="webkit">
    <meta http-equiv="Cache-Control" content="no-siteapp"/>

    <link rel="stylesheet" href="./AmazeUI-2.4.2/assets/css/amazeui.css"/>
    <link href="./css/dlstyle.css" rel="stylesheet" type="text/css">
    <script src="./AmazeUI-2.4.2/assets/js/jquery.min.js"></script>
    <script src="./AmazeUI-2.4.2/assets/js/amazeui.min.js"></script>
    <!--引入vue&axios-->
    <script src="js/plugins/vue/dist/vue.js"></script>
    <script src="js/plugins/axios/dist/axios.js"></script>
    <script src="js/common.js"></script>
</head>

<body>

<div class="login-boxtitle">
    <a href="home.html"><img alt="logo" src="./images/logobig.png"/></a>
</div>

<div class="login-banner" id="loginForm">
    <div class="login-main">
        <div class="login-banner-bg"><span></span><img src="../images/big.jpg"/></div>
        <div class="login-box am-tabs" id="doc-my-tabs">
            <ul class="am-tabs-nav am-nav am-nav-tabs am-nav-justify">
                <li class="am-active"><a href="" @click="empty">账号登录</a></li>
                <li><a href="" @click="empty">验证码登录</a></li>
            </ul>
            <div class="clear"></div>
            <div class="am-tabs-bd">
            <!--账号登录-->
            <div class="am-tab-panel am-active">
                <form>
                    <div class="user-name">
                        <label for="user"><i class="am-icon-user"></i></label>
                        <input type="text"  name="" v-model="userForm.username" id="user" placeholder="邮箱/手机/用户名">
                    </div>
                    <div class="user-pass">
                        <label for="password"><i class="am-icon-lock"></i></label>
                        <input type="password"  name="" v-model="userForm.password" id="password" placeholder="请输入密码">
                    </div>
                </form>
            <div class="am-cf">
                <input type="button" @click="accountLogin" name="" value="登 录" class="am-btn am-btn-primary am-btn-sm">
            </div>
            <div class="login-links">
                <label for="remember-me"><input id="remember-me" type="checkbox">记住密码</label>
                <a href="#" class="am-fr">忘记密码</a>
                <a href="register.html" class="zcnext am-fr am-btn-default">注册</a>
                <br/>
            </div>
        </div>
            <!--验证码登录-->
                <div class="am-tab-panel">
                    <form>
                        <div class="user-name">
                            <label for="username"><i class="am-icon-user"></i></label>
                            <input type="text" v-model="userForm.username" name="" id="username" placeholder="邮箱/手机">
                        </div>
                        <div class="user-phone">
                            <label for="imageCode"><i class="am-icon-check am-icon-sm"></i></label>
                            <input type="text" name="" v-model="userForm.codeValue" style="width: 180px;"
                                   id="imageCode" placeholder="请输入图片验证码">
                            <img @click="getImageCode" :src="imageCode"
                                 class="captcha-image-temp" alt="点击换图" title="点击换图"
                                 style="vertical-align: middle; cursor: pointer;">
                        </div>
                        <div class="user-pass">
                            <label for="password"><i class="am-icon-lock"></i></label>
                            <input type="password" v-model="userForm.password" name="" style="width: 180px" id="codeValue" placeholder="请输入验证码">
                            <butten class="btn" href="javascript:void(0);" @click="sendMobileCode"
                                    id="sendMobileCode">获取</butten>
                        </div>
                        <div class="am-cf">
                            <input type="button" @click="codeLogin" name="" value="登 录" class="am-btn am-btn-primary am-btn-sm">
                        </div>
                    </form>
                </div>
                <script>
                    $(function () {
                        $('#doc-my-tabs').tabs();
                    })
                </script>
            </div>



            <div class="partner">
                <h3>合作账号</h3>
                <div class="am-btn-group">
                    <li><a href="#"><i class="am-icon-qq am-icon-sm"></i><span>QQ登录</span></a></li>
                    <li><a href="#"><i class="am-icon-weibo am-icon-sm"></i><span>微博登录</span> </a></li>
                    <li><a href="#"><i class="am-icon-weixin am-icon-sm"></i><span>微信登录</span> </a></li>
                </div>
            </div>

        </div>
    </div>
</div>


<div class="footer ">
    <div class="footer-hd ">
        <p>
            <a href="# ">恒望科技</a>
            <b>|</b>
            <a href="# ">商城首页</a>
            <b>|</b>
            <a href="# ">支付宝</a>
            <b>|</b>
            <a href="# ">物流</a>
        </p>
    </div>
    <div class="footer-bd ">
        <p>
            <a href="# ">关于恒望</a>
            <a href="# ">合作伙伴</a>
            <a href="# ">联系我们</a>
            <a href="# ">网站地图</a>
            <em>© 2015-2025 Hengwang.com 版权所有. 更多模板 <a href="http://www.cssmoban.com/" target="_blank"
                                                       title="模板之家">模板之家</a> - Collect from <a
                    href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a></em>
        </p>
    </div>
</div>
</body>
    <script type="text/javascript">
        new Vue({
            el: "#loginForm",
            data: {
                imageCode: '',
                imageCodePrefix: "data:image/jpeg;base64,",
                userForm: {
                    username: "",
                    password: "",
                    type: "1",
                    codeValue: ""
                }
            },

            methods: {
                accountLogin() {
                    // 1.判断手机号不为空
                    if (!this.userForm.username) {
                        alert("账号不能为空");
                        // 终止
                        event.preventDefault();
                        return false;
                    }
                    // 2.判断图片验证码不为空
                    if (!this.userForm.password) {
                        alert("密码不能为空");
                        event.preventDefault();
                        return false;
                    }
                    this.$http.post("/login/account", this.userForm)
                        .then(result => {
                            result = result.data;
                            if (result.success) { // 登录成功
                                let {token, logininfo} = result.resultObj;
                                localStorage.setItem("token", token);
                                localStorage.setItem("logininfo", JSON.stringify(logininfo));
                                // 2.跳转首页
                                location.href = "index.html";
                            } else { // 登录失败
                                alert(result.message);
                            }
                        })
                        .catch(result => {
                            console.log(result)
                            alert("系统繁忙，请稍后重试！");
                        });
                },
                // 1.生成UUID的方法
                createUuid() {
                    var s = [];
                    var hexDigits = "0123456789abcdefghi";
                    for (var i = 0; i < 36; i++) {
                        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
                    }
                    s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
                    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
                    s[8] = s[13] = s[18] = s[23] = "-";

                    var uuid = s.join("");
                    return uuid;
                },
                // 2.发起Axios请求获取图形验证码的方法
                getImageCode() {
                    // 2.1.从localStorage中获取UUID
                    let imageCodeKey = localStorage.getItem("registerImageCodeKey");
                    // 2.2.判断当前浏览器本地是否有key值，没有则生成，有则直接使用
                    if (!imageCodeKey || imageCodeKey === '') {
                        imageCodeKey = this.createUuid();
                        localStorage.setItem("registerImageCodeKey", imageCodeKey);
                    }
                    // 2.3.发送Axios请求，传递UUID，得到图形验证码的Base64字符串
                    this.$http.get("/verifyCode/image/" + imageCodeKey).then(result => {
                        // 2.3.1.将接口返回的图形验证码Base64字符串码+前缀赋值给模型中的imageCode字段
                        this.imageCode = this.imageCodePrefix + result.data.resultObj;

                    })
                },
            // 清空数据
            empty() {
                this.userForm = {
                    username: "",
                    password: "",
                    codeValue: "",
                    type: 1,
                };
                this.getImageCode();
            },
            // 获取验证码
            sendMobileCode(event) {
                // 1.判断手机号不为空
                if (!this.userForm.username) {
                    alert("账号不能为空");
                    // 终止
                    event.preventDefault();
                    return false;
                }
                // 2.判断图片验证码不为空
                if (!this.userForm.codeValue) {
                    alert("图形验证码不能为空");
                    event.preventDefault();
                    return false;
                }
                // 3.获取按钮，禁用按钮
                var sendBtn = $(event.target);
                sendBtn.attr("disabled", true);

                // 4.给图形验证码RedisKey赋值
                this.userForm.imageCodeKey = localStorage.getItem("registerImageCodeKey");

                //5.发送ajax请求
                this.$http.post("/login/sendMobileCode", this.userForm).then(res => {
                    var ajaxResult = res.data;
                    if (ajaxResult.success) {
                        alert("验证码已经发送到成功，请在3分钟内使用");
                        //5.1.发送成：倒计时
                        var time = 60;
                        var interval = window.setInterval(function () {
                            //每一条倒计时减一
                            time = time - 1;

                            //把倒计时时间搞到按钮上
                            sendBtn.html(time + "秒后重发");

                            //5.2.倒计时完成恢复按钮
                            if (time <= 0) {
                                sendBtn.html("重新发送");
                                sendBtn.attr("disabled", false);
                                //清除定时器
                                window.clearInterval(interval);
                            }
                        }, 1000);
                    } else {
                        //5.3.发送失败：提示，恢复按钮
                        sendBtn.attr("disabled", false);
                        alert("发送失败:" + ajaxResult.message);
                        this.getImageCode();
                    }
                })
            },
            codeLogin() {
                // 1.判断手机号不为空
                if (!this.userForm.username) {
                    alert("账号不能为空");
                    // 终止
                    event.preventDefault();
                    return false;
                }
                // 2.判断图片验证码不为空
                if (!this.userForm.password) {
                    alert("验证码不能为空");
                    event.preventDefault();
                    return false;
                }
                // 3.获取按钮，禁用按钮
                var sendBtn = $(event.target);
                sendBtn.attr("disabled", true);
                //5.发送ajax请求
                this.$http.post("/login/codeLogin", this.userForm).then(result => {
                    result = result.data;
                    if (result.success) { // 登录成功
                        let {token, logininfo} = result.resultObj;
                        localStorage.setItem("token", token);
                        localStorage.setItem("logininfo", JSON.stringify(logininfo));
                        // 2.跳转首页
                        location.href = "index.html";
                    } else { // 登录失败
                        alert(result.message);
                    }
                })
                    .catch(result => {
                        console.log(result)
                        alert("系统繁忙，请稍后重试！");
                    });
            }

            },

            mounted(){
            // 页面一加载我就加载图形验证码
            this.getImageCode();

        }


        })
    </script>
</html>